草庐IT

c++ - DrawText VS TextOut Win32

全部标签

c++ - 在 Windows 7 64 位中开发 32 位 C++ 应用程序

我在VisualStudio2008(C++)中开发了一个Win32应用程序。它在32位或64位Windows7中运行良好。但是,有时我需要分配相当大的内存缓冲区(应用程序处理大量数据),如果我在64位Windows7中这样做,它会失败,在32位中它运行良好。大内存缓冲区是指一个~250MB和另一个~150MB。我的PC上安装了8GBRAM,根据我的信息,64位操作系统为32位应用程序提供了4GB可用内存。我不需要接近那个限制,malloc仍然失败。任何想法为什么以及我能做些什么?提前致谢。 最佳答案 150MB和250MB并不是特

c - 无法在 Windows 上写入文件

我正在尝试使用C语言保存一些文件,代码如下:sprintf(playerinput,"%s",end);sprintf(fileloc,"%s/.notend",getenv("HOME"));playerdata=fopen(fileloc,"w+");/*createthenewfile*/if(!playerdata){printf("\n\t\t\tCouldnotsavesettingsfile.");return;}else{fputs(playerinput,playerdata);fclose(playerdata);}应该将playerinput设置为end变量,在l

在 Windows (C/C++) 上检查应用程序二进制文件的位数

是否可以在不运行/运行之前检查二进制文件(EXE)的位数?这可以在Linux上轻松完成,但我不熟悉Windows二进制格式。谢谢。 最佳答案 由于您将此问题标记为C,因此有一个Win32API函数GetBinaryType.不过,它不适用于DLL。if(GetBinaryType(argv[i],&bintype)){switch(bintype){caseSCS_32BIT_BINARY:typename=TEXT("Windows32Bit");break;caseSCS_64BIT_BINARY:typename=TEXT("

c++ - 使用 native Windows API 的 win32 线程安全队列实现

由于windows缺少条件变量(虽然从vis​​ta开始引入,但windowsXP和2003不支持),用c++实现线程安全的队列不是很容易。StrategiesforImplementingPOSIXConditionVariablesonWin32.我需要的是只使用CriticalSection或Mutex和Event,而不使用信号量和条件变量。我也试图找到一个只使用win32nativeAPI的确切实现,但没有成功。所以我自己完成了一个。问题是我不是100%确定代码是线程安全的。谁能告诉我好不好?classCEventSyncQueue{public:CEventSyncQueue

c++ - 如何知道所使用的微软 C runtime 的版本?

我有一个依赖于MSVCR90.dll的程序,我将它与主要可执行文件一起提供的库包括:ProgramFolder\Main.exeProgramFolder\MSVCR90.dll我想知道是否有新的更新可用(例如修复安全问题),我提供的更新是否优先于System32或SxS.有没有办法以编程方式知道正在使用哪个版本的C运行时? 最佳答案 您可以查看executablesimportheader查找它引用了哪个版本的C运行时。将其从system32目录中删除无济于事,反而会造成崩溃。 关于c

visual-studio-2010 - Qt MinGW WIN32 到 Visual Studio 2010

我有一个通过cmake为MinGW+Qt创建的项目。在CMakeLists.txt我有add_executable(project-nameWIN32${MOC_SRCS}${HEADERS}${SOURCES}${RESOURCES}${QtApp_RCC_SRCS})如果我尝试将它编译到VisualStudio2010中,我会收到以下链接器错误:MSVCRTD.lib(crtexew.obj):errorLNK2019:undefinedreference_WinMain@16infunc___tmainCRTStartup然后我擦掉WIN32add_executable(proj

两个线程能否同时读取同一个const内存块

内存块在程序开始时被初始化和设置并且没有改变(CONST)。例如:静态常量inta=10;如果它依赖于环境/架构,那么这些设置是否安全:英特尔/AMDWin/Linux32/64位每个核心的线程或一个核心的所有线程。 最佳答案 对于所有架构读取const都是安全的 关于两个线程能否同时读取同一个const内存块,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12337926/

c# - Win32 OpenFileDialog 不过滤 *.DOCX 快捷方式

我可以在装有Windows7SP1的多台不同计算机上执行此操作。这可以在记事本(或任何其他使用OpenFileDialog的应用程序)中复制创建DOCX的快捷方式启动记事本文件,打开过滤*.txt浏览到*.docx快捷方式的位置*.docx是我能找到的唯一不过滤的快捷方式扩展。到目前为止,我唯一的解决方法是让我的应用程序在用户选择文件后检查文件扩展名。有没有办法让OpenFileDialog像用户期望的那样过滤掉*.docx.lnk文件?为什么只有Office文件扩展名受到影响? 最佳答案 只有Office2007+文档的快捷方式受

windows - %1 不是 Apache 服务器上的有效 Win32 应用程序

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我有在Windows7x64上运行的Apache2.232位服务器。我需要使用perl,所以我安装了Strawberry5.12.332位并配置了apache,所以我有2个位置:主要-仅cgi和次要-使用mod_perl。我的问题是我可以从辅助位置运行页面和脚本而没有任何问题,而主要位置生成500错误和错误日志条目说:[WedDec1209:13:102012][error][client12

windows - 通过 Win32 api 在网络接口(interface)上启用/禁用 DHCP

我正在寻找一种通过win32api在网络接口(interface)上启用或禁用dhcp的方法。实际上我通过使用wmi解决了这个问题,但我想通过win32api来解决这个问题,因为我想解决损坏的wmi。我找到了一个线程,他们通过注册表api执行此操作:OnenablingNetworkadpater,AutoconfigurationIPaddressgettingset但这是实现目标的唯一途径吗?干杯,ceth 最佳答案 我终于用wmi做到了,如果wmi不工作,我将netsh.exe作为备份。win32api的方法太不方便了..